package com.lagou.edu.Intercepter;

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @author: liujunling
 * @createDate: 2020/4/20
 */
@Component
public class MyIntercepter implements HandlerInterceptor {


  @Override
  public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    HttpSession session =request.getSession();
    String allowUrls ="/login/user";

    //获取请求地址
    String url =request.getRequestURL().toString();
    if(url.contains(allowUrls)){
      return true;
    }
    Boolean isLogin = (Boolean)session.getAttribute("isLogin");
    if(isLogin==null || !isLogin){
      //重定向
      response.sendRedirect(request.getContextPath()+"/login/user");
    }

    return true;

  }

  @Override
  public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {

  }

  @Override
  public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {

  }
}
